<?php
/**
 * Created by PhpStorm.
 * User: 田家强
 * Date: 2017/3/28
 * Time: 16:09
 */

namespace Home\Controller;


use Org\Util\Cart;
use Think\Controller;

class CartController extends BaseContoller
{


 public function index()
 {
     $headConf = ['title'=>'购物车','js'=>['list']];
     $this->assign('headConf',$headConf);
   //接收购买页面选中商品发送过来的数据
     $data =   $_SESSION['cart'];
//    dd($data);
     //分配变量 将接收过来的数据分配到页面上
     $this->assign('data',$data);
     $this->display();
 }

    /**
     * 购物车商品删除
     */
    public function del()
    {
        if(IS_AJAX)
        {
            //方法一删除session里的数据再返回给session
            //1.接受下要删除的数据对应的值
            //2.打印session 找到session里面存的值
            //3.因为删除的指定数据属于孙子辈 所以要找到他的父级 进入到父级才是想要删除的值的数据
            // 所以要在session找到他的父级后赋值给一个变量用unset销毁这个变量
            //4.再写入session
            //dd($_POST);
            // 方法一
             //$gid = $_POST['gid'];
             //$id =  $_SESSION['cart']['goods'];
             //unset($id[$gid]);
             //session('cart','goods','id');

           //方法二 后盾框架方法 只用于用到后盾框架购物车方法时使用
            //dd($_POST);
            //1.接受下要删除的数据对应的值
            $gid = $_POST['gid'];
            //2.应用后盾框架里面的更新购物车的方法
            $data=array(
                'sid'=>$gid,// 唯一 sid，添加购物车时自动生成
                'num'=>0
            );
            //3.调用方法执行 update方法
              (new Cart())->update($data);
        }
    }

    /**
     * 商品数量更新 加
     */
    public function cartUpdata()
    {
       $sid = $_POST['key'];
       $num = $_POST['num'];
        $data=array(
            'sid'=>$sid,// 唯一 sid，添加购物车时自动生成
            'num'=>$num,
        );
        (new Cart())->update($data);
    }
    /**
     * 商品数量更新 减
     */
    public function cartUpdate()
    {
        $sid = $_POST['key'];
        $num = $_POST['num'];
        $data=array(
            'sid'=>$sid,// 唯一 sid，添加购物车时自动生成
            'num'=>$num,
        );
        (new Cart())->update($data);
    }
    //支付数据，写入session
    public function payData(){
        //重组数组
        if(IS_AJAX){
           $payData=[];
           $gids=I('post.');
            //dd($gids);
           $cartData=$_SESSION['cart'];
            foreach($cartData['goods'] as $k=>$v){
                if(in_array($k,$gids)){
                    $payData['goods'][$k]=$v;
                    $payData['total_rows']+=$v['num'];
                    $payData['total']+=$v['total'];
                }
            }
            $_SESSION['payData']=$payData;
            echo 1;exit;


        }
    }
}